vee*_*eRN 5 reactjs react-native
这两种在react-native中声明变量的方式有何区别?
import React, { Component } from 'react';
import { AppRegistry, Image, View, Text, } from 'react-native';
export default class Hello extends Component {
render() {
**const var1 = 'hi';**
return ( );
}}
import React, { Component } from 'react';
import { AppRegistry, Image, View, Text, } from 'react-native';
**const var1 = 'hi';**
export default class Hello extends Component {
render() {
return ( );
}}
Run Code Online (Sandbox Code Playgroud)
这些变量之间的区别是作用域。
在这两种情况下,由于使用const,var1只有在声明后才能访问。
const变量的范围是它正在运行的执行上下文。在您的两个示例中,执行上下文不同。
在第二个示例中:
import React, { Component } from 'react';
import { AppRegistry, Image, View, Text, } from 'react-native';
const var1 = 'hi';
export default class Hello extends Component {
render() {
return ( );
}
}
Run Code Online (Sandbox Code Playgroud)
该执行上下文,其中var1被宣布为文件。
这意味着,在文件中的任何点后const var1 = 'hi'; 的var1变量是可用的,其价值是'hi'。
在第一个示例中:
import React, { Component } from 'react';
import { AppRegistry, Image, View, Text, } from 'react-native';
export default class Hello extends Component {
render() {
const var1 = 'hi';
return ( );
}
}
Run Code Online (Sandbox Code Playgroud)
声明的执行上下文是方法render()。
同样,这意味着该方法在语句的任何位置,render()并且仅在该render()方法内部在const var1 = 'hi';语句之后,var1变量才可用,其值将为'hi'。
总之,在const var1 = 'hi';方法内部使用时,var1(常量)变量将仅在该方法内部可用。const var1 = 'hi';在文件中声明时,OTOH可以在整个文件中使用,而不在任何类{}或函数var1中。
但是,在这两种情况下,var1只能在const var1 = 'hi';声明语句之后定义/可用。
| 归档时间: |
|
| 查看次数: |
14027 次 |
| 最近记录: |